package cyc2018.贪心思想;

/**
 * 判断子序列
 */
public class Test392 {
    // 遍历 t，如果 t 里面的字符等于 s 里面的就返回
    public static boolean isSubsequence(String s, String t) {
        if (s.trim().equals("")) {
            return true;
        }
        int k = 0;
        for (int i = 0; i < t.length(); i++) {
            if (k == s.length()) {
                return true;
            }
            if (s.charAt(k) == t.charAt(i)) {
                k++;
            }
        }
        return k == s.length();
    }

    public static boolean isSubsequence2(String s, String t) {
        int index = 0;
        for (int i = 0; i < s.length(); i++) {
            // 在 t 里面检索是否存在 s 里面包含的字符，每检索到一次就往后走一位，防止重复检索
            index = t.indexOf(s.charAt(i), index);
            if (index == -1)
                return false;
            index++;
        }
        return true;
    }


    public static void main(String[] args) {
        String s = "abc";
        String t = "ahbgdc";
        System.out.println(isSubsequence2(s, t));
    }
}
